Non-volatile memories such as, for example, flash memories, EPROM, EEPROM, etc., are nowadays used very often for storing data. By way of example, in data processing units, communication devices and monitoring or control units such as e.g. for monitoring and controlling means of transport such as automobiles, trains, etc., data are constantly generated and stored in the non-volatile memories.
Non-volatile memories very often have memory cells comprising field effect transistors such as MOS transistors, for example, which, in addition to a control gate, have a floating gate in order to store charges there. A floating gate is typically understood to mean a region that can take up free charge carriers, i.e. electrical charges, and is electrically isolated from all other electrically conductive regions by an oxide. In this case, the presence or absence of charges on the floating gate corresponds to the stored data value having a logic state 1 or 0, respectively. The charges can be brought to the floating gate in the case of a programming pulse for example by a corresponding voltage being applied to the control gate by means of a hot charge carrier effect or a Fowler-Nordheim tunneling effect. The charges stored in the floating gate remain on the gate without a further supply of energy, but the quantity of charge is reduced with time as a result of a low discharge rate of charges. Therefore, for the permanent programming of data, it is necessary to bring a corresponding minimum quantity of charges to the floating gate. It is typically required, for example, that data of non-volatile memories have a minimum data retention time. Different values can be provided for the minimum data retention time depending on the type of memory or use, for example 5 years for data, 20 years for program codes. In order to comply with this, after a programming pulse, a check is carried out with regard to the applied charge, for example by the threshold voltage of a memory cell being checked. Upon an insufficient quantity of charge being ascertained, the programming pulse is repeated once or a plurality of times.